<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title></title>

    <style>
        
    </style>
</head>

<script>
    // 实例对象是指函数通过 new关键字 调用产生的对象, **实例对象就是我们平时说的对象**
    function Person() {}

    var p = new Person()    // 此时p就是实例对象
    console.log(p)

    // =======================================  分割线  ================================

    
    // 函数对象是指将函数作为对象使用, 然后调用函数内部的方法(在OOP中称为静态方法/属性/成员)
    function Person() {}
    Person.sayHello = () => console.log('hello')

    // ES6 class风格
    class Student{
        // 定义一个静态属性, 从而允许函数对象
        static sayInfo() {
            console.log('我是一个学生')
        }
    }

    var p = new Person()    // 此时p就是实例对象
    console.log(p)
    Person.sayHello() // 'hello' 此时Person就是函数对象
    Student.sayInfo()   // 此时Student就是函数对象
</script>

<body>
    
</body>

</html>